Hive的安装部署(一) 1.1 Hive的安装部署 Hive是一个客户端工具并没有集群的概念,所以Hive的安装部署相对简单。一般情况下,由于Hive的元数据信息存储在第三方数据库中(如MySQL),所以在安装Hive之前需要首先安装MySQL数据库。由于硬件资源有限,我们从Hadoop集群中选择hadoop1节点来安装部署Hive客户端以及MySQL元数据库即可。 1.1.1安装MySQL MySQL数据库的安装有离线和在线安装两种方式,为了方便起见,我们选择在线安装方式。 (1)在线安装MySQL。在hadoop1节点上,使用yum命令在线安装MySQL数据库,具体操作如下所示。 [root@hadoop1 ~]# yum install mysql-server (2)启动mysql服务。MySQL数据库安装成功之后,通过命令行启动MySQL服务,具体操作如下所示。 [root@hadoop1 ~]# systemctl start mysqld [root@hadoop1 ~]# systemctl enable mysqld (3)设置MySQL root用户密码。MySQL刚刚安装完成,默认root用户是没有密码的,需要登录MySQL设置root用户密码,具体步骤如下。 因为MySQL默认没有密码,所以使用root用户可直接登录MySQL,输入密码时可按Enter键回车即可,具体操作如下所示。 [root@hadoop1 ~]# mysql -u root -p Enter password: ...... mysql> 在MySQL客户端设置root用户密码,具体操作如下所示。 mysql>alter user'root'@'localhost' identified with mysql_native_password by 'root'; 设置完MySQL root用户密码之后,退出并重新登录MySQL,用户名为:root,密码为:root。 [root@hadoop1 ~]# mysql -u root –p Enter password: mysql> 如果能成功登录MySQL,就说明MySQL 的root用户密码设置成功。 (4)创建Hive账户。 ①首先输入如下命令创建Hive账户,操作命令如下。 mysql>create user 'hive'@'hadoop1' identified by 'hive'; mysql>create user 'hive'@'%' identified by 'hive'; ②将MySQL所有权限授予Hive账户,操作命令如下所示。 mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hadoop1' WITH GRANT OPTION; ③将MySQL所有权限授予Hive账户,并允许所有ip访问。 mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION; ④通过命令使上述授权生效,操作命令如下所示。 mysql> flush privileges; ⑤如果上述操作成功,就可以使用Hive账户登录MySQL数据库,具体命令如下。 [root@hadoop1 ~] mysql -h hadoop1 -u hive -p ⑥创建hive数据库。 mysql> create database hive; 1.1.2安装Hive Hive的安装比较简单,因为Hive底层存储依赖HDFS,底层计算默认依赖MapReduce,所以我们选择一个节点部署Hive客户端,通过Hive客户端能将Hive 查询任务提交到Hadoop集群运行即可。 1.下载Hive 到官网(http://hive.apache.org/down/oads.html)下载 Hive 安装包apache-hive-3.1.3-bin.tar.gz,然后上传至hadoop1节点的/home/hadoop/app目录下。 1.解压Hive 在hadoop1节点上,使用解压命令解压Hive安装包,具体操作如下所示。 [hadoop@hadoop1 app]$ tar -zxvf apache-hive-3.1.3-bin.tar.gz 然后创建hive软连接,具体操作如下所示。 [hadoop@hadoop1 app]$ ln -s apache-hive-3.1.3-bin hive 3.修改hive-site.xml配置文件 进入hive的conf目录下发现hive-site.xml文件不存在,需要从默认配置文件复制一份,具体操作如下所示。 [hadoop@hadoop1 conf]$ cp hive-default.xml.template hive-site.xml 然后在hive-site.xml配置文件中,修改元数据库相关配置,修改内容如下所示。 [hadoop@hadoop1 conf]$ vi hive-site.xml #配置连接驱动名为com.mysql.jdbc.Driver javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver i #修改连接MySQL的URL javax.jdo.option.ConnectionURL jdbc:mysql://hadoop1:3306/hive?characterEncoding=UTF-8 #修改连接数据库的用户名和密码 javax.jdo.option.ConnectionUserName hive javax.jdo.option.ConnectionPassword hive 4.配置Hive环境变量 打开.bashrc文件,配置Hive环境变量,具体操作如下所示。 [hadoop@hadoop1 conf]$ vi ~/.bashrc 修改为如下内容: JAVA_HOME=/home/hadoop/app/jdk HADOOP_HOME=/home/hadoop/app/hadoop HIVE_HOME=/home/hadoop/app/hive CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:/home/hadoop/tools:$HIVE_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH HADOOP_HOME HIVE_HOME 保存并退出,并用命令source ~/.bashrc使配置文件生效。 5.添加MySQL驱动包 下载mysql-connector-j-8.0.31.jar(地址:http://central.maven.org/maven2/mysql/)驱动包,然后上传至Hive的lib目录下即可。 6.修改Hive相关数据目录 修改hive-site.xml配置文件,更改相关数据目录,具体配置如下所示。 [hadoop@hadoop1 conf]$ vi hive-site.xml hive.querylog.location /home/hadoop/app/hive/iotmp hive.exec.local.scratchdir /home/hadoop/app/hive/iotmp hive.downloaded.resources.dir /home/hadoop/app/hive/iotmp 7.启动Hive服务 第一次启动Hive服务需要先进行初始化,具体操作如下所示。 [hadoop@hadoop1 hive]$ bin/schematool -dbType mysql -initSchema 然后再执行bin/hive脚本启动Hive服务,具体操作如下所示。 [hadoop@hadoop1 hive]$ bin/hive hive>show databases; 如果上述操作没有问题,则说明Hive客户端已经安装成功。 II